1. Field of the Invention
The present invention relates to a device managing data relating to entities which may or may not be known beforehand, comprising a central processing unit which, supplied with a suitable program code, is capable of receiving and storing the data in the form of status messages relating to one or more entities.
2. Description of the Related Art
Relational databases are mainly utilized nowadays for the management of such data. In relational databases relevant data is stored in one or more tables wherein a relation can be made between respective fields of different tables in order to express a correspondence. A large quantity of data can thus be stored and managed in a relatively well-organized manner.
A drawback associated with a device based on the use of relational databases as data structure is that for every type of entity for which data has to be recorded a table must be defined and in the case of a change in respect of organisation of the physical reality this entails that a re-modelling of the used software must also take place in order to implement therein types of entities unknown up until then. The relations established in the data structure moreover require that the linked records in the linked tables are fully filled before a meaningful correspondence can be expressed. This makes a relational database a relatively rigid and little flexible model for a reality in which organisations change continually and data is often supplied at a relatively random point in time. Operations wherein an association between occurrences from the same table is required a previously undetermined number of times, which is also designated as recursion, can also only be captured in a relational model with great difficulty.
The present invention has for its object inter alia to provide a device for managing data relating to entities which may or may not be known beforehand which on the contrary is particularly dynamic in the sense that no demands are made on the time sequence in which data is processed and organizational expansion and other changes in the reality can be accommodated practically without problem and often without any appreciable adaptation of the software.
In order to achieve the stated objective a device of the type mentioned in the preamble has the feature according to the invention that the data is stored in a dynamic structure which for each entity provides space for a unique identification and for a first collection of references to possible subordinate entities and a second collection of references to superior entities such that a status message relating to an entity is likewise valid for each subordinate entity associated with the relevant entity by means of its first collection. This feature of the device according to the invention is manifested in a data structure which can be designated mathematically as an acyclic digraph, which may or may not show cohesion. The supplied data in the form of status messages relating to the entities for monitoring can comprise, whether or not directly, an entry of a new entity or contain a status change relating to an entity already included in the structure. Such an event is then also applicable to all entities which are subordinate to the relevant entity and references of which are kept in the first collection with references. That the event is also valid for the subordinate entities also means ipso facto that the event is valid for all entities which in the structure are subordinate to said subordinate entities which can in turn be known from the corresponding first collections of the subordinate entities. This scenario is repeated until the xe2x80x98bottomxe2x80x99 of the structure is reached. An event thus propagates through the data structure along the paths set out by the relevant entities themselves, wherein these paths are set out in dynamic manner and do not have to be known beforehand, this in respect of number as well as route. For each entity in the structure applies here that the collection of status messages valid therefor is equal to the combination of status messages valid for all entities which may reach the relevant entity via any such random path, increased by the status messages which have been directly assigned to the relevant entity itself. This mechanism, which will be designated as status propagation hereinbelow, makes the set-up according to the invention particularly flexible and robust. Organizational changes can be accommodated therein without problem and often without any necessary modification of the software used, while filling in of the structure will make no demands on the time sequence in which the data is supplied and alternative structures can moreover coexist.
At any moment the status of a random entity can be retrieved owing to the second collection of references which makes it possible to run through the structure in opposite direction in order to thus enable building up of the complete collection of status messages valid for the relevant entity. It is therefore not required to store a complete collection at each entity of all status messages applicable to this relevant entity. In a preferred embodiment the device according to the invention therefore has the feature that the supplied status messages are stored solely at the entity to which a relevant status message directly relates. An exceptionally compact and efficient data structure can be obtained by thus only storing supplied status messages singly and only accessing them if there is occasion to do so.
In a particular embodiment the device according to the invention has the feature that an entity is uniquely identified by a designation of an organizational unit within which the entity exists together with a coding which is unique at least within said organizational unit. Such a combination of designations for an entity offers sufficient guarantee that different entities can each be identified uniquely without an unambiguous nomenclature having to be defined beforehand. This makes a significant contribution to the dynamic capability, the reliability and the expandability of the device according to the invention.
In its basic embodiment the device according to the invention already manages the data entrusted thereto in a particularly efficient and dynamic manner owing to the above described structured manner of storage. Status messages, once stored, can be traced at all times via a dynamically created status propagation path. It can nevertheless be laborious and time-consuming, particularly in the case of large to very large data systems, to locate unforeseen exceptions among all stored data. In order to address this problem a particular embodiment according to the invention has the feature that at least one conditional statement is linked to one or more entities in the structure, which statement results in the outcome provided therein if the set condition is fulfilled. One or more such conditional statements can thus be incorporated into the data structure, which are simply designated as triggers and which can be designed such that exceptions are automatically located. Status messages can herein be represented mathematically as points in an n-dimensional space, while such a trigger forms a body in this same space. Examples of said dimensions are time, geographical length and width. An exception of an entity is detected if a status message, which is associated by status propagation or otherwise with the relevant entity and is represented as a point in said n-dimensional space, lies enclosed in said body. The non-validity of the set condition at a pre-determined moment can also be interpreted as an exception and as such can be detected in similar manner.
When such a trigger is added to an entity, all status propagation paths which lead to the relevant entity are run through once-only in reverse sequence to evaluate whether the set to condition has already been fulfilled. The second collection of references serves for this purpose. The condition has then only to be checked if a new status message is allocated to the entity either by status propagation or by direct allocation. If the device receives a new status message relating to any entity, there will then always be a complete run through all status propagation paths from this entity in order to evaluate all possible triggers within these paths. In addition, adding an association between two entities also results in an evaluation of all occurring triggers which can be found in the status propagation paths from the subordinate of the two relevant entities.
In a further particular embodiment the device according to the invention has the feature that a designation is linked to one or more entities which indicates a type of entity within a categorization of occurring entities. Such a categorization of the entities facilitates to a considerable degree the response to more general queries which are not specifically focussed on one or more entities as such but which instead attempt to obtain a reply concerning a whole group of entities. Said categorization herein enables identification, and thus selection, of determined groups of entities within the data structure. A categorized classification of entities as referred to here also facilitates the introduction of a new type of entity.
Applied to a logistical working environment, a question could for instance arise with respect to all means of transport together, without being specifically interested in particular types of transport. The above-mentioned categorization nevertheless provides the option of unambiguous designation of diverse types of transport means as transport means, so that this group can be localized easily within the device. Thus, the device according to the invention can advantageously be used logistically for the purpose of for instance a dynamic control of a flow of goods, a logistical performance analysis, transport and production planning and for sales support, wherein a desired group of logistical units is selected each time, taking into account status messages attributed thereto directly or on the basis of status propagation.